Locally stored content previews: representative of programming content in an electronic programming guide through a graphic image accessed from the hard drive of a set top box

ABSTRACT

An integrated DSS/WebTV receiver is communicatively connected to an Internet service provider, a DSS service provider, and (optionally) a local broadcast station to provide a display of DSS programs, Internet web sites, and local broadcast channels in a seamless fashion. The DSS/WebTV receiver downloads graphic images, corresponding to DSS programs, from a DSS communication medium or the Internet into a local memory. The graphic images are periodically updated by the DSS service provider or Internet service provider. The DSS/WebTV receiver generates a graphical user interface (GUI), displayed on a television screen, for facilitating a user&#39;s navigation through the DSS, Internet, and local broadcast data. The GUI includes a selectable DSS program listing that displays DSS programs that are currently being broadcast or that will be broadcasted in the future. If a user selects a currently broadcasted program, the DSS/WebTV receiver displays the selected program on the television. If the user selects a program that is broadcasted in the future, the DSS/WebTV receiver displays a downloaded graphic image, corresponding to the selected program, on the television. The graphic image may be the selected program&#39;s name or logo, still shots from the selected program, short video clips related to the selected program, or advertisements related to the selected program.

This application is a continuation of U.S. application Ser. No.11/121,391, filed May 3, 2005, for Proehl et al., entitled LOCALLYSTORED CONTENT PREVIEWS: REPRESENTATIVE OF PROGRAMMING CONTENT IN ANELECTRONIC PROGRAMMING GUIDE THROUGH A GRAPHIC IMAGE ACCESSED FROM THEHARD DRIVE OF A SET TOP BOX, which is a continuation of U.S. applicationSer. No. 09/271,028, filed Mar. 17, 1999, for Proehl et al., entitledLOCALLY STORED CONTENT PREVIEWS: REPRESENTATIVE OF PROGRAMMING CONTENTIN AN ELECTRONIC PROGRAMMING GUIDE THROUGH A GRAPHIC IMAGE ACCESSED FROMTHE HARD DRIVE OF A SET TOP BOX, now U.S. Pat. No. 6,990,676, each ofwhich is incorporated in its entirety herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to the presentation of net dataand DSS programs, and more specifically to the presentation of a graphicimage, downloaded from the Internet or a DSS communication medium, if aselected DSS program is to be broadcasted in the future.

2. Related Art

Over the last few years there has been a growing demand forentertainment systems that facilitate a user's ability to accessmultiple broadcast information, and entertainment mediums. One type ofbroadcast medium is a broadcast satellite system such as a digitalsatellite system (DSS). DSS typically includes an antenna, an integratedreceiver decoder (IRD), a television receiver (CV), and a remotecontroller. DSS may additionally include an analog video cassetterecorder (VCR) that receives analog data for recording purposes.

In operation, the antenna receives digital bit steams from a satelliteand routes the bit streams to the IRD. Typically, the digital bitstreams include sensory data (e.g., video and/or audio) and programmingdata for one or more shows. The IRD receives the bit streams from theantenna and decodes the bit steams into data that can be presented to auser via the TV. The user selects which portion of the decoded data istransmitted from the IRD to the TV through actuation of the remotecontroller.

Currently there exists a need for an integrated DSS/Internet system thatpermits a user to view DSS programs, local cable-based and/orterrestrial-based programs, and Internet data in a seamless fashion.Furthermore, there is a need for an integrated DSS/Internet system thatdisplays a program-related graphic image if a user selects a DSS programthat is to be broadcast in the future. Moreover, there is a need for anintegrated DSS/Intemet system that downloads and periodically updatesprogram-related graphic images from the Internet or DSS communicationmedium.

SUMMARY OF THE INVENTION

To address the shortcomings of the available art, the present inventionprovides an integrated DSS/WebTV receiver that is communicativelyconnected to an Internet service provider, a DSS service provider, and(optionally) a local broadcast station to provide a display of DSSprograms, Internet web sites, and local broadcast channels in a seamlessfashion. The DSS/WebTV receiver downloads graphic images, correspondingto DSS programs, from a DSS communication medium or the Internet into alocal memory. The graphic images are periodically updated by the DSSservice provider or Internet service provider. The DSS/WebTV receivergenerates a graphical user interface (GUI), displayed on a televisionscreen, for facilitating a user's navigation through the DSS, Internet,and local broadcast data. The GUI includes a selectable DSS programlisting that displays DSS programs that are currently being broadcast orthat will be broadcasted in the future. If a user selects a currentlybroadcasted program, the DSS/WebTV receiver displays the selectedprogram on the television. If the user selects a program that isbroadcasted in the future, the DSS/WebTV receiver displays a downloadedgraphic image, corresponding to the selected program, on the television.The graphic image may be the selected program's name or logo, stillshots from the selected program, short video clips related to theselected program, or advertisements related to the selected program.

In one advantageous feature of the present invention, an apparatus isprovided for displaying information to a user via a television. Theapparatus includes a digital satellite system (DSS) processing elementcommunicatively connected to a satellite communication medium forreceiving a program that is broadcasted over the satellite communicationmedium, a computer readable medium for storing a graphic image, thegraphic image corresponding to the program that is broadcasted over thesatellite communication medium, and an Internet processing elementcommunicatively connected to the Internet for transmitting and receivingdata over the Internet, communicatively connected to the DSS processingelement for receiving the program from the DSS processing element,communicatively connected to the computer readable medium for retrievingthe graphic image from the computer readable medium, and communicativelyconnected to the television for displaying the data received from theInternet and one of the program and the graphic image on the television,the Internet processing element displaying the program on the televisionif the DSS processing element has received the program from thesatellite communication medium, the Internet processing elementdisplaying the graphic image on the television if the DSS processingelement has not received the program from the satellite communicationmedium.

In another advantageous feature of the present invention, a method ofdisplaying information to a user via a television is provided. Themethod includes the steps of receiving a program when it is broadcastedover a satellite communication medium, storing a graphic image relatedto the program in a computer readable medium, and displaying the graphicimage on the television if a request for the program is received beforethe program is broadcasted over the satellite communication medium.

In a further advantageous feature of the invention, an apparatus isprovided for displaying information to a user via a television. Theapparatus includes circuitry for receiving a program when it isbroadcasted over a satellite communication medium, circuitry for storinga graphic image related to the program in a computer readable medium;and circuitry for displaying the graphic image on the television if arequest for the program is received before the program is broadcastedover the satellite communication medium.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned features and advantages of the present invention aswell as additional advantages thereof will be more readily understoodupon consideration of the following detailed description of a preferredembodiment of the invention when taken in conjunction with the followingdrawings.

FIG. 1 is a diagrammatic view of an entertainment system utilizing thepresent invention.

FIGS. 2A-2C are diagrammatic views of one embodiment of the integratedDSS/WebTV receiver used in the entertainment system of FIG. 1.

FIG. 3 is a representation of a remote controller utilized in theentertainment system of FIG. 1.

FIG. 4 is a simplified block diagram of the circuitry utilized in theremote controller of FIG. 3.

FIG. 5 illustrates the DSS data received and stored by the DSS/WebTVreceiver of the present invention.

FIG. 6 illustrates the pointers to the DSS data of FIG. 5 that areutilized to generate the user interface in accordance with the teachingsof the present invention.

FIG. 7 illustrates a Home screen of the GUI of the present invention.

FIG. 8 is an exemplary flowchart illustrative of a user turning on theDSS/WebTV system and accessing the GUI Home screen of FIG. 7.

FIG. 9 is a block diagram illustrating GUI screens, pull-down menus, andfeatures that can be accessed via the GUI Home screen of FIG. 7.

FIG. 10 illustrates a Favorite screen of the GUI of the presentinvention.

FIG. 11 illustrates a TV Planner screen of the GUI of the presentinvention.

FIG. 12 illustrates the GUI Home screen of FIG. 7 having a Guidespull-down menu opened in accordance with the teachings of the presentinvention.

FIGS. 13A and 13B illustrate an EPG of the GUI of the present invention.

FIG. 14 illustrates an option palette displayed in the EPG of the GUI ofthe present invention.

FIG. 15 illustrates the EPG of FIG. 14 after the “Category” icon isselected from the option palette in accordance with the teachings of thepresent invention.

FIG. 16 illustrates the EPG of FIG. 15 after the “Movie” icon isselected in accordance with the teachings of the present invention.

FIG. 17 illustrates the EPG of FIG. 14 after the search icon is selectedin accordance with the teachings of the present invention.

FIG. 18 illustrates the GUI home screen having a pull-up search keyboardoverlaid thereon in accordance with the teachings of the presentinvention.

FIG. 19 illustrates the EPG of FIG. 14 after the “Calendar” icon isselected from the option palette in accordance with the teachings of thepresent invention.

FIG. 20 illustrates an alternative embodiment of the calendar feature ofthe present invention.

FIG. 21 is an exemplary flowchart illustrating the process of selectingprograms in the EPG of FIGS. 13A and 13B.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the method and apparatus of the present invention the satellitebroadcast system is described as a direct broadcast satellite system(DSS) and the Internet terminal system is described as WebTV. However,it is readily apparent to one skilled in the art that other integratedsystems that can receive and display satellite and Internet data mayutilize the method and apparatus of the present invention. Furthermore,in the following description, for purposes of explanation, numerousdetails are set forth, such as menus, flowcharts and systemconfigurations, in order to provide a thorough understanding of thepresent invention. However, it will be apparent to one skilled in theart that these specific details are not required in order to practicethe invention. In other instances, well known electrical structures andcircuits are shown in block diagram form in order not to unnecessarilyobscure the present invention.

Referring now to FIG. 1, an exemplary embodiment of an entertainmentsystem 10 utilizing the present invention is shown. Entertainment system10 includes an integrated DSS/WebTV receiver 12, a remote controller 14,and a display monitor such as a television receiver (TV) 16. Integratedreceiver 12 includes an input port 18 that receives broadcast signalsfrom a DSS antenna 20, an I/O port 22 that receives Internet data over atelephone line 23 from an Internet service provider 24, an input port 26that receives broadcast signals from a local programming station 28(e.g., a local cable station), and an infrared receiver 13 for receivinginfrared signals from the remote controller 14. Integrated receiver 12also includes peripheral I/O ports 30 that communicate with a pluralityof peripheral devices 32. Peripheral devices 32 include, but are notlimited to, a scanner 34, a printer 36, a keyboard 38, a microphone 40,and a recording device 42 such as video cassette recorder (VCR).

In operation, integrated receiver 12 receives a broadcast signal (e.g.,a digital bit stream from DSS antenna 20 or analog data from localprogramming station 28) and performs operations (e.g., demodulatingand/or decoding routines) on the broadcast signal to produce video andaudio information to be displayed to the user via TV 16. Integratedreceiver 12 also receives Internet signals from Internet serviceprovider 24 and performs operations (e.g., decompressing and/or decodingroutines) on the Internet signals to produce video and audio informationto be displayed to the user via TV 16. The user controls the display ofthe Internet-derived and broadcast-derived audio and video informationusing remote controller 14, as discussed in further detail below.

Referring now to FIGS. 2A-2C, simplified block diagrams of the DSS/WebTVreceiver's circuitry are illustrated. Turning now to FIG. 2A, DSS/WebTVreceiver 12 includes a DSS processing element 200 (e.g., an AV7100 chipmanufactured by Texas Instruments, Inc.), an Internet processing element202 (e.g., a QED central processing unit (CPU), manufactured by QuantumEffect Design, Inc., operably connected to an application specificintegrated circuit (ASIC) such as a Solo ASIC manufactured by WebTVNetworks Inc.), and buffer logic 204 (e.g., a GOM logic ASICmanufactured by Sony Corp./Sony Electronics Inc.) interconnecting DSSprocessing element 200 and Internet processing element 202. DSSprocessing element 200 converts signals received from the DSS serviceprovider into digital signals that are transmitted to Internetprocessing element 202 via Buffer logic 204. Internet processing element202 converts digital signals received from Internet service provider 24and Buffer logic 204 into data that can be displayed on TV 16 (FIG. 1),as discussed in further detail below. Buffer logic 204 acts as a bufferthat shields the processor and internal bus of DSS processing element200 from the processor and internal bus of Internet processing element202. Buffer logic 204 also receives signals from local programingstations 28 (e.g., local cable or broadcast stations) and transmits thesignals, in original or decimated form, to Internet processing element202, as discussed below.

DSS processing element 200 is connected to DSS antenna 20 via a lownoise block down converter 206 (LNB) and a front end unit 208 (FE). LNB206 converts a Ku-Band signal received from a satellite to an L-Bandsignal. The L-Band signal is then transmitted to FE 208. FE 208 is atuning device that amplifies, demodulates, and converts the signalreceived from LNB 206. The converted signal emerges as a data bit streamthat is in an encrypted, encoded, and compressed form. FE 208 alsoperforms error correction on the data bit stream. DSS processing element200 examines and filters the data bit stream received from FE 208 basedon user-selected and DSS service authorized criteria. It should be notedthat the data bit stream carries video and audio data representingvarious DSS channels, programming data corresponding to the video andaudio data, and Internet data that is transmitted over DSS, as discussedin further detail below.

An SDRAM 210 and an WEE 1394 (Standard for High Performance Serial Bus)interface 212 are connected to DSS processing element 200. SDRAM 210acts as an intermediate buffer for the storage of data as DSS processingelement 200 performs various processing steps such as decoding,decryption, and decompression routines. Interface 212 interconnects DSSprocessing element 200 to peripheral devices 32 (FIG. 1) therebypermitting DSS processing element 200 to interact with peripheraldevices 32.

A smart card 214 is connected to DSS processing element 200 via a cardinterface (not shown). Smart card 214 includes a central processing unit(CPU), a read only memory (ROM), and a random access memory (RAM). Smartcard 214 determines whether the user has the authorization to receivecertain data (e.g., audio/video data from a pay TV station) using theauthorization information stored in its memory. If smart card 214determines that the user is authorized, smart card 214 provides adecryption key to the DSS processing element 200 which, in turn,decrypts the audio/video data via the decryption key. It should be notedthat although a smart card has been shown, other conditional accessmodules known by those skilled in the art are deemed within the scope ofthe present invention.

A ROM 216 is connected to DSS processing element 200 and Buffer logic204 via a data bus 218 and an address bus 220. ROM 216 storesfundamental operating routines to be executed by DSS processing element200. The operating routines include, but are not limited to,initializing routines, downloading routines, and upgrading routines.

Buffer logic 204 receives audio data, video data, Internet/DSS data, andperipheral generated data from DSS processing element 200. Buffer logic204 processes and/or relays the received data to Internet processingelement 202, as discussed in further detail below. Buffer logic 204 alsoreceives input from a user via a remote controller input 242 and/or aremote keyboard input 244. Buffer logic 204 relays the user input toInternet processing element 202 and, if needed, adjusts the LED displayon a front panel 246 of the integrated DSS/WEBTV receiver 12. Bufferlogic 204 may also receive local broadcast signals via a terrestrialtuner 236 (attached to an antenna or cable line) and analog to digitalprocessing elements 238 and 240. The particular local broadcastingchannel received is selected by the user via remote controller 14 andInternet processing element 202. Buffer logic 204 processes and/orrelays the digitized local broadcast to Internet processing element 202,as discussed in further detail below.

Internet processing element 202 includes a QED microprocessor and a Solochip. The QED microprocessor processes routines stored in internal andexternal memories (e.g., ROM 224) and the Solo chip provides the QEDmicroprocessor with peripheral functions such as, but not limited to,audio processing, remote control signal processing, memory assignment,graphics processing, and discrete I/O functions. Internet processingelement 202 also includes an internal soft modem 226 that communicateswith the Internet service provider 24 via a subscriber line interfacecoder/decoder (SLIC/Codec) interface 222. SLIC/Codec interface 222 actsas a digital to analog converter between Internet processing element 202and phone line 23. Information processed by soft modem 226 is eitherstored in a memory (e.g., Hard Disk Dive (HDD) 228) or is furtherprocessed by a graphics engine of the Solo chip such that theinformation from the Internet can be displayed on TV 16 (FIG. 1).

ROM 224, HDD 228, and Flash memory 230 are connected to Internetprocessing element 202 via a data bus 233. ROM 224 stores thefundamental operating routines of Internet processing element 202. Thefundamental operating routines include, but are not limited to,initializing routines, downloading routines, upgrading routines, and thelike. Flash memory 230 stores all semi-volatile applications such as,but not limited to, icon generation, GUI generation, and the like. HDD228 stores the volatile information that is the most likely to bemodified. Such volatile information includes, but is not limited to,Internet data or DSS/Internet data that is to be displayed on TV 16, asdiscussed in further detail below. An SDRAM 232 is connected to Internetprocessing element 202 and acts as an intermediate buffer for thestorage of data as Internet processing element 202 performs variousprocessing steps such as decoding, decryption, and decompressionroutines.

A smart card 234 is connected to Internet processing element 202 via acard interface (not shown). Smart card 234 includes a central processingunit (CPU), a read only memory (ROM), and a random access memory (RAM).Smart card 234 determines whether the user has the authorization toaccess certain web sites (e.g., web sites displaying or discussingmature subject matters) using the authorization information stored inits memory. If smart card 234 determines that the user is authorized,smart card 234 provides a decryption key to the Internet processingelement 202 which, in turn, decrypts the received Internet data via thedecryption key. It should be noted that although a smart card has beenshown, other conditional access modules known by those skilled in theart are deemed within the scope of the present invention.

Internet processing element 202 receives DSS data and local broadcastdata from Buffer logic 204 and blends the received data with datareceived from the Internet service provider 24. Afterwards, Internetprocessing element 202 transmits the blended data to DAC (digital toanalog converters) for displaying the blended data on TV 16. It shouldbe noted that the video portion of the data may be output in an S-Video,composite, or RF format.

Internet processing element 202 also receives DSS/Internet data fromBuffer logic 204 and stores the DSS/Internet data on HDD 228. TheDSS/Internet data represents, e.g., web sites that the user can accessvia the “Best of Web” feature of the GUI, as discussed in further detailbelow. Storing DSS/Internet data on HDD 228 enables a user to accesspredetermined web sites in real time, thereby, removing the access andinterconnection delays traditionally encountered when communicating withweb sites over a phone line.

Turning now to FIG. 2B, a simplified block diagram of Buffer logic 204is shown. In general, Buffer logic 204 carries three types ofinformation between DSS processing element 200 and Internet processingelement 202: basic command signals (e.g., tune to channel 100), basicstatus signals (e.g., tuning complete), and large bandwidth signals(e.g., program guide information, web sites for caching in HDD 228,firmware updates, and the like). It should be noted that the internalmuting of video signals from DSS processing element 200 and terrestrialtuner 236 is illustrated in FIG. 2C and discussed below.

Buffer logic 204 includes two narrowband (e.g., 2 KBytes) FIFO buffers250 and 252 and one wideband (e.g., 64 KBytes) FIFO buffer 254. FIFObuffers 250-254 are connected to DSS processing element 200 via amultiplexer 256, an address decoder 258, and an interrupt controller260. FIFO buffers 250-254 are connected to Internet processing element202 via a multiplexer 262, a DMA controller 264, an address decoder 266,and an interrupt controller 268.

In operation, DSS processing element 200 periodically downloads largeamounts of data (e.g., program guide information, web sites for cachingin HDD 228, firmware updates) to FIFO buffer 254 by signaling addressdecoder 258 and downloading the data to multiplexer 256. Multiplexer 256receives the address of FIFO buffer 254 from address decoder 258 andrelays the data from DSS processing element 200 to FIFO buffer 254.Interrupt controller 268 is, preferably, programmed to transmit aninterrupt signal to Internet processing element 202 when the amount ofdata stored in FIFO buffer 254 reaches a predetermined level (e.g., 30KBytes). In response to the reception of the interrupt signal; the QEDmicroprocessor (not shown) downloads the data stored in FIFO buffer 254by signaling address decoder 266 and instructing DMA controller 264 totransport the incoming data to a selected memory location (e.g., HDD228, flash memory 230, or SDRAM 232). Address decoder 266, in turn,transmits the address of FIFO buffer 254 to multiplexer 262 and DMAcontroller directs the incoming data from multiplexer 262 to theselected memory.

In addition to routing large amounts of data from DSS processing element200 to Internet processing element 202, Buffer logic 204 facilitates thetransfer of commands and responses between DSS processing element 200and Internet processing element 202. For example, when the userrequests, via remote controller 14, a new DSS channel, the signal fromremote controller 14 is received by Buffer logic 204 and routed toInternet processing element 202. Internet processing element 202, inturn, transmits a high level “tune to new channel” command to FIFObuffer 252 by signaling address decoder 266 and transmitting the commandto multiplexer 262. Afterwards, address decoder 266 supplies multiplexer262 with the address of FIFO buffer 252 and multiplexer 262 routes the“tune to new channel” command to FIFO buffer 252. After the “tune to newchannel” command is received, interrupt controller 260 detects thereception of the command by FIFO buffer 252 and transmits an interruptsignal to DSS processing element 200. The interrupt signal notifies DSSprocessing element 200 that a pending command/request is stored in FIFObuffer 252. Upon receipt of the interrupt signal, DSS processing elementsignals address decoder 258. Address decoder 258, in turn, transmits theaddress of FIFO buffer 252 to multiplexer 256 and multiplexer 256downloads the “tune to new channel” command from FIFO buffer 252 to DSSprocessing element 200.

Upon receipt of the “tune to new channel” command, DSS processingelement 200 executes a “tune to new channel” routine that is stored onROM 216. The routine includes a complex sequence of instructions thatare required to enable DSS processing element 200 to tune to the newchannel. The instructions include, but are not limited to, determiningthe identity of the new channel, determining which DSS satellite carriesthe new channel, the bit stream location of information transmitted onthe new channel (e.g., every fifth time slot), determining if the useris authorized to view the new channel (via smart card 214), anddecryption instructions for decrypting the data carried on the newchannel.

Once DSS processing element 200 completes executing the “tune to newchannel” routine, DSS processing element transmits a status message toInternet processing element 202. The status message indicates whetherthe requested command has been executed. Some exemplary status messagesinclude “channel tuned,” “channel not authorized,” “system inoperative,”and the like. To transmit the status message to Internet processingelement 202, DSS processing element 200 transmits the status message tomultiplexer 256 and signals address decoder 258. Address decoder 258, inresponse, transmits the address of FIFO buffer 250 to multiplexer 256which, in turn, relays the status message to FIFO buffer 250.Afterwards, interrupt controller 268 detects the reception of the statusmessage by FIFO buffer 250 and transmits an interrupt signal to Internetprocessing element 202. In response to the reception of the interruptsignal, Internet processing element 202 downloads the status messagestored in FIFO buffer 250 by signaling address decoder 266 andinstructing DMA controller 264 to transport the incoming data to aselected memory location (e.g., internal memory, HDD 228, flash memory230, or SDRAM 232). Address decoder 266, in turn, transmits the addressof FIFO buffer 250 to multiplexer 262 and DMA controller directs thestatus message from multiplexer 262 to the selected memory. Finally,Internet processing element 202 examines the stored status message andtransmits the appropriate response to the user. Some exemplary responsesinclude displaying the new channel on TV 16, displaying an“unauthorized” message, displaying an “error” message, and the like.

Turning now to FIG. 2C, a simplified block diagram of the internalrouting of video signals in integrated DSS/WebTV receiver 12 isillustrated. There are three sources for the video signals input tointegrated DSS/WebTV receiver 12: video signals received via DSS antenna20, video signals received from a peripheral device (e.g., a camcorderor other video recording device) via peripheral bus interface 212, andvideo signals received from terrestrial tuner 236. The DSS andperipheral device video signals are processed (decoded, decompressed,etc.) by DSS processing element 200 and relayed to Buffer logic 204. Theterrestrial video signals are converted to a digital format by digitalto analog converter 240 and relayed to Buffer logic 204.

Upon reception of the video signals, Buffer logic 204 routes the videosignals through a 3×2 multiplexer 270. One output of multiplexer 270 isconnected to a video processor 272 located within Buffer logic 204 andthe other output of multiplexer 270 is connected to a video processor274 located within Internet processing element 202. Each video processor272 and 274 either performs a decimation process on the video signals orallows the video signals to pass therethrough. If the video signalsundergo the decimation process, the decitated video signals will producea decimated video frame on TV 16. If the video signals do not undergothe decimation process, the video signals will produce a full-screenvideo frame on TV 16. The decimation process is discussed in furtherdetail below.

Video processors 272 and 274 transmit the video signal (decimated orunprocessed) to a blending function 278 of Internet processing element202. Signals received from the Internet (via the phone line or DSStransmission) are also transmitted to blending function 278 after beingprocessed by a web graphics engine 276. As discussed above, web graphicsengine 276 processes the Internet signals into a form that can bedisplayed on TV 16. Blending function 278 is a software program storedin memory (e.g., internal memory, ROM 224, or flash memory 230) thatInternet processing element 202 executes to integrate the receivedsignals into a form that can be displayed on TV 16. After undergoing theblending function, the blended signals are transmitted to video encodersand digital to analog converters 280 which, as discussed above, displaythe blended signals on TV 16. It should be noted that the blendingfunction and decimating procedure are only executed in response to arequest from a user. For example, if a user is merely watching a TVshow, the blending function and the decimating procedure are notexecuted. However, if the user requests a GUI (as discussed below), boththe blending function and the decimation process may be executed.

Referring now to FIG. 3, one embodiment of remote controller 14 isshown. As discussed above, remote controller 14 is utilized by a user totransmit commands and make program selections in accordance with theteachings of the present invention. In operation, the user may actuate aplurality of operation keys of remote controller 14 to control how theintegrated receiver 12 displays video and audio information on TV 16.The plurality of operation keys include, but are not limited to, adirection pad 302 having a plurality of direction keys 318-324 and anenter key 326, a “GUIDE” key 304 for prompting integrated receiver 12 todisplay an electronic program guide on TV 16, a “FAVORITE” key 306 forprompting integrated receiver 12 to display a user-customized favoritechannel screen on TV 16, a “HOME” key 308 for prompting integratedreceiver 12 to display a Home screen on TV 16, a “CATEGORY” key 310 forprompting integrated receiver 12 to display a category guide on TV 16,an “OPTIONS” key 312 for prompting integrated receiver 12 to display anoption palette on TV 16, a “SELECT” key 314 for prompting integratedreceiver 12 to display a feature selected by the user on TV 16, and an“EXIT” key 316 for prompting integrated receiver 12 to discontinuedisplaying a selected menu or feature.

Referring now to FIG. 4, a simplified a block diagram of the remotecontroller circuitry is illustrated. Remote controller 14 has aninfrared originating device 400, a set of operation keys 402(corresponding to the operation keys of FIG. 3), a CPU 404, a ROM 406and a RAM 408.

CPU 404 receives a signal sent from an operation key 402 through aninput port 410. The signal is processed according to a program stored inROM 406. RAM 408 is used as a working space for generating atransmitting code. The transmitting code is sent to the infraredoriginating device 400 through an output port 412 and converted into aninfrared signal. The infrared signal is transmitted to infrared receiver13 of integrated DSS/WebTV receiver 12.

Referring now to FIG. 5, a block diagram of data 500 stored in a portionof HDD 228 and/or flash memory 230 (FIG. 2A) is illustrated. Asdiscussed above; HDD 228 and/or flash memory 230 store guide data 502,channel data 504; and program data 506. Guide data 502 includes, but isnot limited to, date information 508, time information 510, a segmentnumber identifier 512 that identifies the data segment, a transponderlist 514 that identifies the transponder transmitting the data segment,and a channel list 516 that identifies a channel number associated witha portion of data.

Channel data 504 includes a channel number 518, a channel name 520(e.g., the call sign of a broadcast station), a logo ID 522 (e.g., anidentification of the channel logo), a data ID 524 that identifies achannel of MPEG video data or MPEG audio data, a number of programs 526that identifies the number of programs to be transmitted on a channelduring a predetermined time frame, and a first program offset 528 thatidentifies the offset from the header to the first channel data in asegment.

Program data 506 includes a program title 530, a program start time 532,a time length 534 indicating the duration of the program, a programcategory 536 (e.g., movies, news, sports, etc.), a program subcategory538 (e.g., subcategories of sports such as baseball, basketball,football), a program rating 540 (e.g., “R”, “PG”, “G”) and a programdescription 542 that provides a detailed description of the program(e.g., story line, actors).

Referring now to FIG. 6, DSS processing element 200 generates a pointertable 544 in response to the reception of data 500. DSS processingelement 200 stores the pointer table 544 in HDD 228 and/or flash memory230. Pointer table 544 contains the location of channel data 546 andprogram data 548 in HDD 228 and/or flash memory 230. In operation, whenthe user selects a program for viewing (via controller 14), Internetprocessing element 202 transmits a “tune to new channel” request to DSSprocessing element 200. In response, DSS processing element 200 executesa channel locating routine (stored in ROM 216) and determines thelocation of the channel data and program data corresponding to theselected program by accessing pointer table 544. After the locationdetermination is completed, DSS processing element 200 tunes to the newchannel and transmits a status message to Internet processing element202 via Buffer logic 204. If the user is authorized to receive the newchannel (and no errors have occurred), Internet processing element 202receives the video and audio signals from DSS processing element 200 andBuffer logic 204, performs any necessary blending and/or decimatingtechniques, and displays the requested program on TV 16.

Referring now to FIG. 7, a Home screen 550 of a Graphical User Interface(GUI) of the present invention is shown. The GUI, generated by DSSprocessing element 200 and Internet processing element 202, is displayedon TV 16 and permits a user to select a channel for viewing and toaccess the Internet. GUI home screen 550 includes, but is not limitedto, a “Guide” icon 552, a “WebTV” icon 554, a “Favorites” icon 556, a“TV Planner” icon 558, a “Mail” icon 560, a “Setting” icon 562, a “HowTo” icon 564, and a movable highlight box (or pointer) 568. Icons552-564 represent accessible screens, pull-down menus, and features thata user can display on TV 16, as discussed below. GUI Home screen 550also includes a scrolling ticker region that displays information aboutupcoming events (e.g., upcoming pay-per-view movies and sporting events)and a decimated video region 569 that displays, in reduced form, thecurrent DSS channel (including channel name, channel number, and programtitle) being viewed by the user.

In operation, the user positions highlight box 568 on icons 552-564 bypressing direction keys 318-324 of remote controller 14 in theappropriate direction. Once the user has positioned the highlight box568 on a desired icon, the user can display the menu corresponding tothe highlighted icon by pressing enter key 326 of controller 14. Itshould be noted that some menus (e.g., “Guides”, “Favorites”) can bedisplayed by highlighting a corresponding icon in GUI Home screen 550 orby pressing a corresponding key of remote controller 14. Selection of aparticular icon by the user by means of highlight box 568 and enter key326 is noted by either Internet processing element 202 or DSS processingelement 200, depending on the icon. In response to the user's selectionof Internet-related icons, Internet processing element 202 displaysInternet web page data from storage device HDD 228, or flash memory 230,or carries out functions which correspond to the selected icon fromroutines stored in ROM 224. It should be noted that some of the datastored in MD 228 or flash memory 230 is downloaded by DSS processingelement 200, as described above, from a DSS service provider. Inresponse to the user's selection of DSS-related icons, DSS processingelement 200 displays sensory data (audio and video data) received fromthe DSS service provider, displays the GUI received from storage deviceHDD 228 or flash memory 230, or carries out functions which correspondto the selected icon from routines stored in ROM 216.

Referring now to FIG. 8, an exemplary flowchart 570 illustrative of auser turning on entertainment system 10 and accessing GUI Home screen550 is shown. Initially, at step 572, the user powers up entertainmentsystem 10 by pressing the power button(s) on remote controller 14. Uponpower up, at step 574, the channel that was previously displayed whenentertainment system 10 powered down is displayed on TV 16. Afterwards,at step 576, integrated DSS/Web TV receiver 12 monitors signals fromremote controller 14 to determine if the user has pressed “HOME” key308. If “HOME” key 308 has not been pressed, integrated DSS/Web TVreceiver 12 continues to display the previously displayed channel andmonitor signals from remote controller 14. If “HOME” key 308 has beenpressed, integrated DSS/Web TV receiver 12, at step 578, displays GUIHome screen 550 on TV 16.

As discussed above, GUI Home screen 550 contains a decimated videoregion 569 that displays the current channel selected by the user. Afull-screen video frame is reduced to a decimated video frame by adecimation process. The decimation process is a down-conversionfiltering process that reduces the definition or resolution of thefull-screen video frame to a frame size convenient for display in theGUI. Decimating the full-screen video frame results in a decimated videoframe having pixel dimensions that are a fraction of the dimensions ofthe full-screen video frame. The decimation process of the presentinvention uses known filtering and digital signal processing techniquesto eliminate a number of pixels from the full-screen video frame. Forexample, one exemplary decimation technique might drop every other pixelin the vertical and horizontal directions (X,Y) from the full-screenvideo frame, thereby providing a decimated video frame having pixeldimensions that are one-half of the X,Y pixel dimensions of thefull-screen video frame, i.e., a window 1/16 of actual size. The numberof pixels eliminated from the full-screen video frame is determined bythe size of the decimated video frame to be displayed in the GUI. In oneembodiment, the decimated video frame has, but is not limited to, pixelheight and width that are one-fourth of the pixel dimensions of thefull-screen video frame. As discussed above, decimated video is storedin a memory (e.g., HDD 228 and/or flash memory 230) for later display.

Referring now to FIG. 9, a plurality of features and/or menus that theuser can access via GUI Home screen 550 are shown. As discussed above,GUI Home screen 550 includes a decimated video region, a so-calledpicture-in-picture (PIP) region 569 that displays a reduced frame sizevideo 580 of a currently selected program and a scrolling ticker region566 that displays information about upcoming events, stocks, sportscores, and the like. The user can access an “Article Summary” icon 567or a “Web Page” icon 571 associated with the information displayed onticker region 566 by selecting the ticker region 566 via the highlightbox (or pointer) 568 (shown in FIG. 7). “Article Summary” icon 567, ifselected, provides the user with additional information about theupcoming event that is not otherwise displayed on ticker region 566.“Web Page” icon 571, if selected, provides the user with an interactivesetting for receiving additional information about the upcoming event.For example, ticker region 566 may display a message that states that anupcoming football game will be shown on channel 4 at 2 pm on Nov. 24,1999. If the user desires to have further information about the game,the user may select “Article Summary” icon 567 to receive informationsuch as the football team's records, conferences, and the like. The usermay also select “Web Page” icon 571 to access each team's web pageand/or the football portion of the web page of channel 4. As discussedabove, these web pages are downloaded from the DSS network, stored onHDD 228, and retrieved from the HDD 228 by the Internet processingelement 202 in response to selection of an icon by the user.

GUI Home screen 550 also includes a plurality of icons that permit theuser to access screens, pull-down menus, and/or features that facilitatethe user's navigation through DSS channels and the Internet, asdiscussed below. In general, the user can access a menu or feature byselecting an icon (i.e., positioning highlight box 568 over the icon)and pressing enter key 236. The following descriptions describe thescreens, pull-down menus, or features that the user can access byselecting the various icons in GUI Home screen 550. As discussed above,the selection of a particular icon by the user by means of highlight box568 and enter key 326 is noted by either Internet processing element 202or DSS processing element 200, depending on the icon. In response to theuser's selection of Internet-related icons, Internet processing element202 displays Internet web page data from storage device HDD 228, orflash memory 230, or carries out functions which correspond to theselected icon from routines stored in ROM 224. It should be noted thatsome of the data stored in HDD 228 or flash memory 230 is downloaded byDSS processing element 200, as described above, from a DSS serviceprovider. In response to the user's selection of DSS-related icons, DSSprocessing element 200 displays sensory data (audio and video data)received from the DSS service provider, displays the GUI received fromstorage device HDD 228 or flash memory 230, or carries out functionswhich correspond to the selected icon from routines stored in ROM 216.

If “How To” icon 564 is selected, DSS processing element 200 generates aglobal help manual 582 that provides the user with information regardinghow the user can utilize various features of entertainment system 10.

If “Guide” icon 552 is selected, DSS processing element 200 generates apull-down menu having the following options: an Electronic Program Guide(EPG) 584, a Station Index 586, a Category 588, an alphabetical Listing590, and Others 592. As discussed below (FIGS. 12-19), the user canselect from one or more of options 584-590 to display programinginformation in a predetermined manner.

If “WebTV” icon 554 is selected, Internet processing element 202generates a WebTV home page 594 that provides the user with access tothe Internet. In addition, DSS processing element 200 generates a “BestOf Web” icon 596 that, if selected, displays a list of preferred Websites that are downloaded from the Internet or, preferably, from theuser's DSS provider.

If “Mail” icon 560 is selected, Internet processing element 202generates an electronic mail list 598 that includes public mail 600received from the user's DSS provider and personal mail 602 that isprovided by the user's Internet service provider. Public mail 600 isdistinguished from personal mail 602 by differentiation indicia such asa difference in color, font style, associated icons, or the like. Inoperation, public mail 600 can only be read by the user and is typicallyutilized by the DSS service provider to provide the user withpromotions, advertisements and the like. Personal mail 602, however,allows the user to transmit and receive e-mail via the Internet.

If “Favorites” icon 556 is selected, DSS processing element 200generates a favorite channel screen 630, as shown in FIG. 10. Favoritechannel screen 630 includes a list of favorite channels 604, a “user”icon 606 and an “edit” icon 608. The user selects “user” icon 606 if theuser desires to view a list of favorite channels associated with anotheruser ID (e.g., a parent viewing a child's list of favorite channels).The user selects “edit” icon 608 if the user desires to alter channellist 604 by removing or adding channels.

If “TV Planner” icon 558 is selected, DSS processing element 200generates a TV Planner screen 632 as shown in FIG. 11. TV Planner screen632 includes a monthly calendar (or recording/reminder list) 610 thatindicates which programs are purchased and/or selected for recording byVCR 42 (FIG. 1). A “Purchase” icon 634 appears adjacent purchasedprograms and a “Record” icon 636 appears adjacent programs to berecorded. In the user selects “Purchase” icon 634, the user is visuallypresented (e.g., via a pull-down menu) with the cost, date, and time ofthe purchased program. In the user selects “Record” icon 636, the useris visually presented (e.g., via a pull-down menu) with the title, date,and time of the program to be recorded. TV Planner screen 632 alsoincludes a “Timer & Rec.” icon 612 and a “Review Purchases” icon 614. Ifthe user selects “Timer & Rec.” icon 612, the user is presented with a“Timer & Rec.” screen (not shown) that lists the programs that the userselected to view or record. In the user selects “Review Purchases” icon614, the user is presented with a “Review Purchases” screen (not shown)that lists all the programs purchased (e.g., PPV programs) by the userin a given time period (e.g., one month). It should be noted that theuser can modify selected data (e.g., delete or add programs) when theuser is in the “Timer &Rec” or “Review Purchases” screens. The user mayalso scroll from time period to time period (e.g., month to month)within TV Planner screen 632 by selecting an arrow 638.

If “Settings” icon 562 is selected, DSS processing element 200 and/orInternet processing element 202 generate a “Settings” screen thatincludes a “System” icon 616, an “Alternate Audio” icon 618, a “Locks &Limits” icon 620, a “Guide Preferences” icon 622, a “Service” icon 624,and a “View” icon 626. Tithe user selects “System” icon 616, the user ispresented with a number of system configuration options such as antennaalignment, color adjustment, and the like. If the user selects“Alternate Audio” icon 618, the user is presented with an Audio screen(not shown) that provides the user with a plurality of audio options. Ifthe user selects “Locks & Limits” icon 620, the user is presented with a“Locks and Limits” screen (not shown) that allows the user to select aspending limit (e.g., $200 per month for Pay Per View (PPV)), select arating limit (e.g., only “PG” shows can be viewed on PPV), and enter apassword for entering the selected limits or overriding earlier selectedlimits. If “Guide Preferences” icon 622 is selected, the user ispresented with a number of guide configuration options such asdisplaying channels in numerical order, displaying channels inalphabetical order, displaying all received channels, displaying onlypre-selected channels, and the like. If the user selects “Service” icon624, the user is presented with a menu (not shown) that instructs theuser to call a service representative and initiate a self-diagnostictest on the DSS/WebTV receiver. The user receives further instructionfrom the called service representative. If the user selects “View” icon626, the user is presented with a plurality of sizing options fordisplaying the video on the TV screen.

New services or features may be added to entertainment system 10 viaDSS, cable, and/or Internet communications. It is considered within thescope of the invention to provide icons 628 in GUI Home screen 550 topermit the user to access the new service or features. For example, a“Game” icon may be added to GUI Home screen 550 to facilitate a user'sability to download games from the Internet.

Referring now to FIG. 12, GUI Home screen 550 is shown as having “Guide”icon 552 selected by the user. As previously discussed, when the userselects “Guide” icon 552, DSS processing element 200 generates apull-down menu having the following options: EPG 584, Station Index 586,Category 588, Alpha List 590, and Others 592. Turning now to FIGS. 13Aand 13B, an EPG screen 650 is generated by DSS processing element 200and Internet processing element 202 if the user selects EPG option 584from the pull-down menu of FIG. 12 or selects “GUIDE” key 304 of remotecontroller 14. EPG screen 650 includes a decimated video region 652 thatdisplays a selected program or graphic images corresponding to aselected program, an information region 654 that displays the channelnumber, channel ID, program name, program rating, and program length ofthe selected program, and a Display Information Packet (DIP) region 656that displays detailed information (e.g., story line, actor names, etc.. . . ) about the selected program. EPG screen 650 also includes achannel table 658 that identifies each channel by channel number 660 andchannel name 662. Channel table 658 also includes a program list 664that displays the programs being shown on each channel. Program list 664is preferably divided into three time periods 666-670. As shown, thetime periods may be half-hour intervals, however, longer or shorter timeintervals are deemed within the scope of the invention. Preferably,highlight box (or cursor) 568 is positioned in the upper left corner ofprogram list 664 when EPG screen 650 is first displayed.

In operation, the user navigates through EPG screen 650 by actuatingdirection keys 318-324 and enter key 326 on remote controller 14. Asshown in FIG. 13A, the user can view a program currently being broadcaston channel 112 by positioning highlight box (or cursor) 568 on thedesired program (e.g., National Geographic) and pressing enter key 326.In response, Internet professing element 202 detects the selection ofchannel 112 and transmits a “tune to channel 112” command to DSSprocessing element 200 via buffer logic 204. DSS processing element 200,in turn, receives the “tune to channel 112” command, executes a relatedroutine stored in ROM 216, and displays channel 112 on television 16, asdiscussed above in FIGS. 2A-2C. As shown in FIG. 13B, the user can alsoview graphic images corresponding to a program that will be broadcast inthe future on channel 115 by positioning highlight box (or cursor) 568on the desired program (e.g., Sleep Hollow) and pressing enter key 326.In response, Internet processing element 202 retrieves a video filestored in HDD 228, executes the retrieved video file, and displays theresulting graphic image on television 16. It should be noted that thevideo files stored in HDD 228 may be provided and periodically updatedby the DSS service provider or the Internet service provider. The videofiles may be, but are not limited to, Joint Photographic Experts Group(JPEG) files, Graphics Interface Format (GIF) files, Motion PicturesExperts Group (MPEG) files, and Quicktime files. The graphic imagesdisplayed on television 16 may be, but are not limited to, a selectedprogram's name or logo, still shots from the selected program, shortvideo clips related to the selected program, or advertisements by thesponsors of the selected program.

Referring now to FIG. 14, DSS processing element 200 generates an optionpalette 672 in EPG screen 650 if the user presses options key 312 onremote controller 14. Option palette 672 includes, but is not limitedto, a “Search” icon 674, a “Category” icon 676, a “Calender” icon 678,and a “Guide Settings” icon 680. Preferably, highlight box (or cursor)568 is positioned over “Search” icon 674 when option palette 672 isfirst displayed. If the user selects “Search” icon 674, DSS processingelement 200 generates an on-screen keyboard, as discussed below (FIGS.17-18). If the user selects “Category” icon 676, DSS processing element200 generates a plurality of category icons, as discussed below (FIGS.15-16). If the user selects “Calendar” icon 678, DSS processing element200 generates a calendar screen, as discussed below (FIGS. 19-20). Ifthe user selects “Guide Settings” icon 680, DSS processing element 200generates a Guide Setting screen (not shown) that permits the user toalter how the EPG screen 650 operates. For example, the user can selectthe number of channels (and associated programs) shown in channel table658. In addition, the user can select whether decimated video region 652should either display a previously selected channel until the userselects a new channel or display each channel that highlight box (orcursor) 568 travels over.

Referring now to FIG. 15, a plurality of category icons 682 aregenerated by DSS processing element 200 if the user selects “category”icon 676 in option palette 672. Category icons 682 facilitate the user'snavigation through DSS channels by filtering programs into preselectedcategories for presentation to the user in channel table 658. Categoryicons 682 include, but are not limited to, a “Movies” icon 684, a“Sports” icon 686, a “Specials” icon 688, an “Attractions” icon 690, a“Drama” icon 692, and an “Education” icon 694. Preferably, highlight box(or cursor) 568 is positioned over “Movie” icon 684 when the pluralityof icons 682 are first displayed. If the user selects “Movies” icon 684,the channels that carry movies are displayed in channel table 658 (FIG.16). If the user selects “Sports” icon 686, the channels that carrysport programs are displayed in channel table 658. If the user selects“Specials” icon 688, the channels that carry special features aredisplayed in channel table 658. If the user selects “Attractions” icon690, the channels that carry upcoming attractions are displayed inchannel table 658. If the user selects “Drama” icon 692, the channelsthat carry drama programs are displayed in channel table 658. If theuser selects “Education” icon 694, the channels that carry educationalprograms are displayed in channel table 658.

Referring now to FIG. 16, EPG 650 is shown as having movie carryingchannels displayed in channel table 658. It should be noted that whenchannel table 658 is only displaying a user-selected category ofprograms, the DSS processing element 200 causes a category identifier696 to be presented to the user in EPG 650. Category identifier 696reminds the user that channel table 658 is only displaying a categoryfiltered portion of the programs offered by the DSS service provider.

Referring now to FIG. 17, an on-screen keyboard 700, generated by DSSprocessing element 200 and or Internet processing element 202, slidesupwardly over option palette 672 and channel table 658 if the userselects “Search” icon 674 in option palette 672. On-screen keyboard 700allows the user to search for a desired program by entering a searchterm (e.g., actor's name, sport team's name, movie director's name).On-screen keyboard 700 includes a plurality of keys 702 and a window 704for displaying search terms entered by the user via keys 702. Inoperation, the user manipulates keys 702 of on-screen keyboard 700 viadirectional keys 318-324 and enter key 326 of remote controller 14. Itshould be noted that the user may enter search terms via keyboardperipheral 38 (FIG. 1) if keyboard peripheral 38 is connected tointegrated DSS/WebTV receiver 12.

Referring now to FIG. 18, on-screen keyboard 700 can also be accessed bythe user in GUI Home screen 550. If the user accesses on-screen keyboard700 in GUI Home screen 550, the user can enter Internet search terms viaon-screen keyboard 700 in the same manner as described with respect toFIG. 17.

Referring now to FIG. 19, a calendar 706, generated by DSS processingelement 200, is superimposed over option palette 672 and a portion ofchannel table 658 if the user selects “Calendar” icon 678 in optionpalette 672. Calendar 706 includes a plurality of days 708 within apredetermined time period (e.g., one month). Calendar 706 permits theuser to filter programs displayed in charm table 658 on a daily basis.Preferably, highlight box (or cursor) 568 is positioned over the currentdate in calendar 706 when calendar 706 is first displayed to the user.In operation, the user positions, via remote controller 14, highlightbox (or cursor) 568 over a day in which the user desires to view aprogram listing. Afterwards, the user selects the highlighted day bypressing enter key 326 on remote controller 14. In response, the DSSprocessing element 200 causes a portion of the programs (e.g., threechannels of programs over an hour and a half time period) shown on theselected day to be displayed in channel table 658. The user can thennavigate through the selected dais programs via channel table 658, asdescribed above. It should be noted that the user can move frompredetermined time period to predetermined time period (e.g.,month-to-month) by actuating arrow keys 710 via remote controller 14.

Referring now to FIG. 20, an alternative embodiment of the calendarfeature of the present invention is illustrated. In the alternativeembodiment, a calendar 712, generated by DSS processing element 200, ispresented to the user when the user accesses EPG 650. Calendar 712 ispositioned above channel table 658 and below decimated video and DIPregions 652 and 656. Calendar 712 includes a horizontal date list 714and a horizontal time list 716. In operation, the user, via remotecontroller 14, selects a date from date list 714 and a time from timelist 716 in order to view programs for a given date and time in programtable 658. The user then navigates through the programs in program table658, as discussed above. It should be noted that the user canhorizontally scroll through calendar 712 in order to display a desireddate and/or time within a given time period (e.g., one month).Preferably, highlight box (or cursor) 568 is positioned over the currentdate in calendar 712 when EPG 650 is first displayed to the user.

Referring now to FIG. 21, an exemplary flowchart 720, illustrative ofthe user selecting a program in EPG screen 650 (FIGS. 13A and 13B), isshown. Initially, at step 722, DSS processing element 200 and Internetprocessing element 202 display EPG screen 650 on television 16, asdiscussed above. Afterwards, Internet processing element 202, at step724, determines if the user has selected a program that is currentlybeing broadcast by the DSS service provider. If Internet processingelement 202 determines that the user has selected a currentlybroadcasted program, Internet processing element 202 instructs DSSprocessing element 200 to tune to the selected DSS channel and, at step730, displays the currently broadcasted program on television 16. IfInternet processing element 202 determines that the user has notselected a currently broadcasted program, Internet processing element202, at step 726, determines if the user has selected a program that isgoing to be broadcasted by the DSS service provider in the future. Ifthe Internet processing element 202 determines that the user hasselected a program to be broadcasted in the future, Internet processingelement 202, at step 732, retrieves a video file corresponding to theselected program from HDD 228, executes the video file, and displays theresultant graphic image on television 16, as discussed above (FIG. 13B).If Internet processing element 202 determines that the user has notselected a program to be broadcasted in the future, Internet processingelement 202, at step 728, determines if the user has selected exit key316 of remote controller 14. If the user has selected exit key 316,Internet processing element 202 and DSS processing element 200, at step728, display Home screen 550 of the GUI. If the user has not selectedexit key 316, Internet processing element 202 and DSS processing element200 return to step 722 and continue to display EPG screen 650.

Although the present invention has been shown and described with respectto preferred embodiments, various changes and modifications are deemedto lie within the spirit and scope of the invention as claimed. Thecorresponding structures, materials, acts, and equivalents of all meansor step plus function elements in the claims which follow are intendedto include any structure, material, or acts for performing the functionsin combination with other claimed elements as specifically claimed.

What is claimed is:
 1. An apparatus for displaying information to a uservia a television, comprising: a computer readable medium for storing avideo file; and a first processing element adapted to receiveprogramming broadcasted over and received from a communication medium,the first processing element communicatively coupled to the computerreadable medium for retrieving the video file from the computer readablemedium, and configured to be communicatively coupled to the television,where the first processing element comprises a digital satellite system(DSS) processing element, an internet processing element communicativelyconnected with a distributed internet network, and a buffer logiccircuit that couples with both the DSS processing element and theinternet processing element, where the DSS processing element isconfigured to receive and tune the programming broadcasted over andreceived from the communication medium, the internet processing elementis configured to transmit and receive data over the internet, whereinthe buffer logic circuit comprises a video processor configured toprocess at least a portion of video data received from the DSSprocessing element, and wherein the buffer logic circuit is configuredto facilitate communication between the DSS processing element and theinternet processing element; the first processing element is configuredto display, through the internet processing element, a graphical userinterface displaying, on at least the television, selectablerepresentations of television programs that are currently beingbroadcast over the communication medium and selectable representationsof television programs that are to be broadcast in the future, whereinthe video file corresponds to one of the selectable representations thatis currently selectable in the graphical user interface, and the firstprocessing element is configured to display a first graphic image on thetelevision in response to the user selecting the selectablerepresentation of the first television program when the first televisionprogram has not been received from the communication medium.
 2. Theapparatus of claim 1, wherein the first processing element is configuredto display the first graphic image on the television and additionaltextual information about the content of the first television program inresponse to the user selecting the selectable representation of thefirst television program when the first television program has not beenreceived from the communication medium while not displaying any graphicimages corresponding to selectable representations of televisionprograms actively displayed within the graphical user interface thathave not been selected.
 3. The apparatus of claim 2, wherein the firstprocessing element is configured receive a search term from a user andsearch programs based on the search term.
 4. The apparatus of claim 3,wherein the video file is stored prior to a broadcasting of the firsttelevision program and prior to a user selecting the selectablerepresentation of the first television program.
 5. The apparatus ofclaim 1, wherein the first processing element is configured to display afirst television program on the television in response to a userselecting a selectable representation of a first television program whenthe first television program has been received from the communicationmedium.
 6. The apparatus of claim 1, further comprising: a plurality oftuners comprising the digital satellite system (DSS) processing element.7. The apparatus of claim 6, wherein the plurality of tuners comprises aterrestrial tuner in communication with the buffer logic circuit.
 8. Theapparatus of claim 6, wherein the first processing element is configuredto update the video file stored in the computer readable medium suchthat the updated video file corresponds to the one of the selectablerepresentations that is currently selectable.
 9. The apparatus of claim8, wherein the first processing unit updates the video file stored inthe computer readable medium based on data received over thecommunication medium.
 10. The apparatus of claim 8, wherein the firstprocessing unit updates the video file stored in the computer readablemedium based on data received over the Internet.
 11. The apparatus ofclaim 6, wherein the first processing element is configured to storereceived programming data from the plurality of tuners.
 12. Theapparatus of claim 11, wherein the computer readable medium comprises ahard disk drive for storing the video file.
 13. A method of displayinginformation to a user via a television, comprising the steps of:receiving, through a digital satellite system (DSS) processing element,programming broadcasted over and received from a communication medium;receiving, through an internet processing element data over theinternet; facilitating, through a buffer logic circuit, a transfer ofcommands and at least some of the programming between the DSS processingelement and the internet processing element; processing, through a videoprocessor of the buffer logic circuit, at least a portion of datareceived from the DSS processing element providing processed video dataand forwarding the processed video data to the internet processingelement; displaying, through the internet processing element, agraphical user interface on the television, the graphical user interfacedisplaying representations of television programs that are currentlybeing broadcast over communication medium and selectable representationsof television programs that are to be broadcast over the communicationmedium in the future; receiving a video file, wherein the video filecorresponds to one of the selectable representations of televisionprograms that is currently selectable in the graphical user interfacewhere the one of the selectable representations corresponds to aspecific television program; storing the video file on a computerreadable medium; receiving a request for a television program based on auser's interaction with the graphical user interface; and displaying afirst graphic image on the television in the graphical user interface ifthe request for the television program is received before the televisionprogram is broadcast over the communication medium; displaying thetelevision program on the television in the graphical user interfacewhen the request for the television program is received while thetelevision program is being broadcast.
 14. The method of claim 13,further comprising: displaying the first graphic image on the televisionand additional textual information about the content of the specifictelevision program in response to the user selecting the one of theselectable representations corresponds to the specific televisionprogram when the specific television program has not been received fromthe communication medium while not displaying any graphic imagescorresponding to selectable representations of television programsactively displayed within the graphical user interface that have notbeen selected.
 15. The apparatus of claim 14, further comprising:receiving a search term from a user and search programs based on thesearch term.
 16. The apparatus of claim 15, further comprising:displaying a first graphic image on the television in the graphical userinterface when the request for the television program is received beforethe television program is broadcast over the communication medium. 17.The method of claim 13, further comprising: tuning, through a pluralityof tuners comprising the digital satellite system (DSS) processingelement, multiple programming; and storing the received programming datafrom the plurality of tuners.
 18. The method of claim 13, furthercomprising: updating the stored video file such that the updated videofile corresponds to the one of the selectable representations that iscurrently selectable and corresponds to the specific date and time thatthe corresponding television program is intended to be played back;displaying a planner option; and displaying a planner screen in responseto detecting a selection of the planner option that displays multipletime periods, and further displays, within the multiple time periods andaccording to times corresponding to playback times, programs previouslyselected by a user to be purchased and programs previously selected by auser to be recorded, and further distinguishes between the programsselected to be purchased and the programs selected to be recorded.